// pages/location/location.js
// 页面数据初始化
Page({
  data: {
    longitude: 0,
    latitude: 0,
    markers: [],
    controls: [{
      id: 1,
      iconPath: '/images/location.png',
      position: { left: 10, top: 10, width: 30, height: 30 },
      clickable: true
    }]
  },

    // 生命周期函数 页面加载
    onLoad() {
      this.getCurrentLocation()
    },

    // 获取当前位置
getCurrentLocation() {
  wx.getLocation({
    type: 'gcj02',
    success: (res) => {
      this.setData({
        longitude: res.longitude,
        latitude: res.latitude
      })
      this.addMarker(res.latitude, res.longitude, '我的位置')
    },
    fail: (err) => {
      wx.showToast({ title: '获取位置失败', icon: 'none' })
    }
  })
},

// 添加标记
addMarker(lat, lng, title) {
  const marker = {
    id: Date.now(),
    latitude: lat,
    longitude: lng,
    title,
    iconPath: '/pages/images/marker1.png',
    width: 30,
    height: 30
  }

  this.setData({
    markers: this.data.markers.concat(marker)
  })
},

// 控制点击
onControlTap(e) {
  if(e.controlId === 1) {
    this.getCurrentLocation()
  }
},

// 标记点击
onMarkerTap(e) {
  wx.showToast({
    title: `点击了：${e.markerId}`,
    icon: 'none'
  })
},

    // 添加随机标记点
addRandomMarker() {
  const lat = this.data.latitude + (Math.random() - 0.5) * 0.02;
  const lng = this.data.longitude + (Math.random() - 0.5) * 0.02;
  this.addMarker(lat, lng, `标记点${this.data.markers.length + 1}`);

// 调整地图视野包含所有标记
const mapCtx = wx.createMapContext('myMap');
mapCtx.includePoints({
  points: this.data.markers.map(m => ({
    latitude: m.latitude,
    longitude: m.longitude
  })),
  padding: [50, 50, 50, 50]
});
},
  /**
   * 生命周期函数--监听页面加载
   */


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})